package hmail

import (
	"strings"

	"gopkg.in/gomail.v2"
)

type Options struct {
	MailHost string // 邮件服务器地址
	MailPort int    // 邮件服务器的端口
	MailUser string // 发件邮箱的账号
	NickName string // 设置邮件发件人信息 (邮件显示名称)
	MailPass string // 发件邮箱的密码
	MailTo   string // 收件人 多个用,分割
	Subject  string // 邮件主题
	Body     string // 邮件内容,(字符串,html)
}

// 发送邮件
func (o *Options) Send() error {

	m := gomail.NewMessage()

	// 设置邮件发件人信息
	// m.SetHeader("From", o.MailUser)
	m.SetHeader("From", m.FormatAddress(o.MailUser, o.NickName))

	//设置发送给多个用户
	mailArrTo := strings.Split(o.MailTo, ";")
	m.SetHeader("To", mailArrTo...)

	//设置邮件主题
	m.SetHeader("Subject", o.Subject)

	//设置邮件正文
	m.SetBody("text/html", o.Body)

	d := gomail.NewDialer(o.MailHost, o.MailPort, o.MailUser, o.MailPass)

	return d.DialAndSend(m)
}
